home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / gus / sdkdigv2.zip / SDKV2N9.TXT < prev   
Text File  |  1993-06-23  |  4KB  |  115 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. GUS Programmer's Digest     Fri Jun 11 00:07     Volume 2: Issue   9  
  7.  
  8. Today's Topics:
  9.                     GUS Programmer's Digest V2 #7
  10.  
  11. Standard Info:
  12.     - Meta-info about the GUS can be found at the end of the Digest.
  13.     - Before you ask a question, please READ THE FAQ.
  14.  
  15. ----------------------------------------------------------------------
  16.  
  17. Date: Thu, 10 Jun 93 15:43:26 +0200
  18. From: d91-sme@nada.kth.se
  19. Subject: Re: GUS Programmer's Digest V2 #7
  20. Message-ID: <9306101343.AA07057@dront.nada.kth.se>
  21.  
  22. >>Is the problem this: you want to play a large sample that doesn't
  23. >>fit into the GUS memory?
  24. >>
  25. >>Ok, let's write a picture:
  26. >>
  27. >>           A piece of GUS memory:
  28. >> -----------------------------------------------
  29. >> ^                     ^                       ^
  30. >> A                     B                       C
  31. >>
  32. >>A = Start of Buffer #1
  33. >>B = Start of Buffer #2
  34. >>C = End of the buffers
  35. >>
  36. >>1. Fill A-C with sample data.
  37. >>2. Play the sound from A to C, looping.
  38. >>3. IRQ at B.
  39. >>4. Fill A-B with new sample data.
  40. >>5. IRQ at C.
  41. >>6. Fill B-C with new sample data.
  42. >>7. Go to 3.
  43. >>
  44. >>Exactly how you create the IRQ's is actually uninteresting. Anyhow,
  45. >>you will not have any pops or anything with this algorithm.
  46.  
  47. >How do you create an IRQ in the middle of a buffer?  I thought you
  48. >could only generate an IRQ at the end of a buffer.  Any help on this
  49. >would be appreciated.
  50.  
  51. There are several ways to create an IRQ on the PC. Just anykind of IRQ
  52. will do for this algorithm. You could use the timer IRQ on the GUS
  53. if you wish. Or timer IRQ on the PC. Note that it's not that important
  54. to be precisely at B. Just check the voice "Current Address" when the IRQ
  55. occurs, and call that location "B".
  56.  
  57.  
  58.  
  59. And about the kind of IRQ that you were thinking of - let me reprint
  60. part of page 85 in the SDK manual:
  61.  
  62.    --------->--------->--------->---------->---------->|
  63.                           ^--------------<----------<--|
  64.    Begin                  Start                        End
  65.  
  66. As I see it, an GUS IRQ can occur when the "Current Address" equals
  67. the "End Location". I wonder what would happen if you did the following:
  68.  
  69.    --------->--------->--------->---------->---------->
  70.    ^                      ^                           ^
  71.    Begin                  End                         Start
  72.  
  73. First of all - an IRQ will be made in the middle of the buffer, which
  74. is just what we want. Then - will the GUS trigger an IRQ at Start?
  75. I don't think so, and therefore we could change the addresses WHILE
  76. STILL PLAYING FROM "End" TOWARDS "Start":
  77.  
  78.    --------->--------->--------->---------->---------->
  79.    ^                      ^                           ^
  80.    Begin &                <none>                      End
  81.    Start              
  82.  
  83. That would make the GUS interrupt at the end of the buffer. Then you
  84. change back to the above address settings.
  85.  
  86. The question is - how will the voice act when you fiddle around with
  87. all the addresses like this, while the voice is playing a sample?
  88. I don't know. Maybe it will only act when the "Current Address" is
  89. at Begin, Start or End location, and then go on until it reaches
  90. another interesting location.
  91.  
  92. There are much research to be done here... :-)
  93.  
  94. /Smedis (Niklas Smedberg, d91-sme@nada.kth.se)
  95.  
  96. ------------------------------
  97.  
  98. End of GUS Programmer's Digest V2 #9
  99. ************************************
  100.  
  101. To post to tomorrow's digest:               <gus-sdk%itchy@dsd.es.com>
  102. To (un)subscribe or get help:       <gus-sdk-request%itchy@dsd.es.com>
  103. To contact a human (last resort):     <gus-sdk-owner%itchy@dsd.es.com>
  104.  
  105. FTP sites:         archive.epas.utoronto.ca         pub/pc/ultrasound
  106.                    wuarchive.wustl.edu       systems/msdos/ultrasound
  107. Hints:
  108.       - Get the FAQ from the FTP sites or the request server.
  109.       - Mail to <gus-sdk-request%itchy@dsd.es.com> for info about
  110.     other GUS related mailing lists (UNIX, OS/2, GUS-MIDI, etc.)
  111.  
  112.  
  113.  
  114.  
  115.